﻿using System;
namespace Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg {
    
    
    public partial class DetailandmedAadress : global::Producers.Arireg.Xtee.Riik.Ee.Producer.Arireg.IDetailandmedAadress {
        
        private System.Int32? @__kaardiPiirkond;
        
        private System.Int32? @__kaardiNr;
        
        private string @__kaardiTyyp;
        
        private System.Int32? @__kandeNr;
        
        private string @__ehak;
        
        private string @__ehakNimetus;
        
        private string @__tanavMajaKorter;
        
        private string @__postiindeks;
        
        private System.DateTime? @__algusKpv;
        
        private System.DateTime? @__loppKpv;
        
        public DetailandmedAadress() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public DetailandmedAadress(System.Int32? @kaardiPiirkond, System.Int32? @kaardiNr, string @kaardiTyyp, System.Int32? @kandeNr, string @ehak, string @ehakNimetus, string @tanavMajaKorter, string @postiindeks, System.DateTime? @algusKpv, System.DateTime? @loppKpv) {
            this.@__kaardiPiirkond = @kaardiPiirkond;
            this.@__kaardiNr = @kaardiNr;
            this.@__kaardiTyyp = @kaardiTyyp;
            this.@__kandeNr = @kandeNr;
            this.@__ehak = @ehak;
            this.@__ehakNimetus = @ehakNimetus;
            this.@__tanavMajaKorter = @tanavMajaKorter;
            this.@__postiindeks = @postiindeks;
            this.@__algusKpv = @algusKpv;
            this.@__loppKpv = @loppKpv;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected DetailandmedAadress(IDetailandmedAadress @detailandmedAadress) {
            this.@__kaardiPiirkond = @detailandmedAadress.KaardiPiirkond;
            this.@__kaardiNr = @detailandmedAadress.KaardiNr;
            this.@__kaardiTyyp = @detailandmedAadress.KaardiTyyp;
            this.@__kandeNr = @detailandmedAadress.KandeNr;
            this.@__ehak = @detailandmedAadress.Ehak;
            this.@__ehakNimetus = @detailandmedAadress.EhakNimetus;
            this.@__tanavMajaKorter = @detailandmedAadress.TanavMajaKorter;
            this.@__postiindeks = @detailandmedAadress.Postiindeks;
            this.@__algusKpv = @detailandmedAadress.AlgusKpv;
            this.@__loppKpv = @detailandmedAadress.LoppKpv;
        }
        
        public virtual System.Int32? KaardiPiirkond {
            get {
                return this.@__kaardiPiirkond;
            }
            set {
                this.@__kaardiPiirkond = value;
            }
        }
        
        public virtual System.Int32? KaardiNr {
            get {
                return this.@__kaardiNr;
            }
            set {
                this.@__kaardiNr = value;
            }
        }
        
        public virtual string KaardiTyyp {
            get {
                return this.@__kaardiTyyp;
            }
            set {
                this.@__kaardiTyyp = value;
            }
        }
        
        public virtual System.Int32? KandeNr {
            get {
                return this.@__kandeNr;
            }
            set {
                this.@__kandeNr = value;
            }
        }
        
        public virtual string Ehak {
            get {
                return this.@__ehak;
            }
            set {
                this.@__ehak = value;
            }
        }
        
        public virtual string EhakNimetus {
            get {
                return this.@__ehakNimetus;
            }
            set {
                this.@__ehakNimetus = value;
            }
        }
        
        public virtual string TanavMajaKorter {
            get {
                return this.@__tanavMajaKorter;
            }
            set {
                this.@__tanavMajaKorter = value;
            }
        }
        
        public virtual string Postiindeks {
            get {
                return this.@__postiindeks;
            }
            set {
                this.@__postiindeks = value;
            }
        }
        
        public virtual System.DateTime? AlgusKpv {
            get {
                return this.@__algusKpv;
            }
            set {
                this.@__algusKpv = value;
            }
        }
        
        public virtual System.DateTime? LoppKpv {
            get {
                return this.@__loppKpv;
            }
            set {
                this.@__loppKpv = value;
            }
        }
    }
}
